package yolorpc.serializer;


import yolorpc.spi.SpiLoader;

import java.util.HashMap;
import java.util.Map;

/**
 * @author yolo
 * @Program RPC
 * @description 序列化器工厂
 * @create 2025-04-25 16:32
 **/
public class SerializerFactory {

    /**
     * 通过静态代码块调用SpiLoad.load加载对应的配置文件
     * */
    static {
        SpiLoader.load(Serializer.class);
    }

    /**
     * 默认序列化器
     * */
    private final static Serializer DEFAULT_SERIALIZER = new JdkSerializer();

    /**
     * 获取对应实例
     *
     * @param key 实现类对应的key值
     * @return Serializer 实现类实例
     * */
    public static Serializer getInstance(String key){
        return SpiLoader.getInstance(Serializer.class, key);
    }


}
